package com.agua.enturno.vista.dto.assemblers;

import com.agua.enturno.excepciones.ExcepcionDeReglaDelNegocio;
import com.agua.enturno.modelo.roles.Notificacion;
import com.agua.enturno.vista.dto.NotificacionDTO;

import java.util.ArrayList;
import java.util.List;
import java.util.SortedSet;

public class NotificacionAssembler extends NullAwareSimpleAssembler<Notificacion, NotificacionDTO> {

	@Override
	protected NotificacionDTO internalAssemble(Notificacion notificacion) {
		return new NotificacionDTO(notificacion.getId(), notificacion.getFecha(), notificacion.getMensaje());
	}

	@Override
	protected Notificacion internalDisassemble(NotificacionDTO dtoType) throws ExcepcionDeReglaDelNegocio {
		return null;
	}
	
	public List<NotificacionDTO> assemble(SortedSet<Notificacion> notificaciones) {
		
		List<NotificacionDTO> notificacionesDTO = new ArrayList<NotificacionDTO>();
		
		for (Notificacion notificacion : notificaciones) 
			notificacionesDTO.add(assemble(notificacion));
		
		return notificacionesDTO;
	}
	
}
